When a consumer and a provider engage in a contract for goods and/or services, the provider typically creates an account that is associated with a specific consumer for the duration of the relationship between the provider and that consumer. An account is especially useful where payment is not necessarily made at the time the goods were received, or at the time that the service was rendered (such as when payment is made in advanced or payment is made in arrears). As goods are delivered, or as services are rendered, a balance in the account changes to reflect an obligation under the contract for the consumer to pay the provider. Ongoing accounts are typically periodically subjected to a billing cycle, in which the consumer is notified of the balance on the account, and is given a period of time within which to make payment, if some amount is owed. A typical billing cycle is monthly (e.g., in the case of credit cards, mortgage payments, utility bills), but billing cycles might also be quarterly, weekly, annually, or perhaps sporadic and unpredictable. Billing cycles may also be triggered by accumulated resource usage or monetary balance or other events. Web services may be broadly construed as being any service that is offered over the Internet, though Web services may also be offered over other networks or delivery mechanism Web services may also be a charged for, in some cases.
The process of maintaining an accurate account balance for consumers can be a major part of the operational complexity for a provider. A single provider may have accounts set up with thousands, or even millions, of consumers depending on the success of the provider's business. Thus, a single provider typically tracks account balances for each consumer. In addition, for each individual account, there may be particular events that result in a change in the account balance. For even a single account, there may be hundreds or even thousands of events that each result in a change in the account balance, or which are to be tracked so that the ultimate account balance may be calculated at the end of the billing cycle.